iT邦幫忙

2023 iThome 鐵人賽

DAY 16
0
自我挑戰組

資安大拼盤系列 第 16

[Day16] 經典肋排大拼盤 ─ SQL Injection(4)

  • 分享至 

  • xImage
  •  

好的,美好的中秋連假轉眼就來到了尾聲,不過沒關係,欸嘿~我已經在為國慶連假做準備了(?)才怪,快點讓我放假啊啊啊啊啊啊!!!
好啦,廢話不多說,我們下方進入正題

確認資料型態

為了要先水多一點字數, 在開始確認資料型態之前,我們先來複習一下前幾天的神奇魔法

// 確認 Table 行數
' ORDER BY 1--
' ORDER BY 2--
' ORDER BY 3--
// 確認Table 欄位數量
' UNION SELECT NULL--
' UNION SELECT NULL,NULL--
' UNION SELECT NULL,NULL,NULL--

透過上方這兩個 Payload 後,我們就可以很清楚地得知 Table 的框架大致上是如何組成的,既然交男/女朋友都會先看外表再瞭解內在了 那麼,確認完 Table 的外表後當然也要來確認一下內部的資料型態囉!

' UNION SELECT 'a',NULL,NULL--
' UNION SELECT NULL, a',NULL --
' UNION SELECT NULL,NULL,'a' --

舉例來說,在個人資料表中,有的欄位會用來儲存名稱、email,有的欄位則是用來儲存編號,因此在有的較為嚴謹的 Table 中,就會明確針對欄位進行資料型態的限制,像是在名稱的欄位中就只能輸入中文或英文,而在編號的欄位中就只能輸入整數型態,這時,我們就會利用上方的 Payload 來測試每一格可以輸入的資料類型後再進行後續操作。
在上方的 Payload 中,按照慣例先利用單引號進行註解,接著分別在第一個欄位、第二個欄位與第三個欄位中插入字串進行測試,而在這個地方,輸入數字也會被當成字串使用,因此我們會選擇透過用字串去測試,若測試的欄位只能輸入整數型態之資料,這時我輸入字串,就會收到錯誤資訊。當我將三個欄位都測試完後,就可以更加了解這個 Table 並進行更多壞壞的操作啦!

經典肋排大拼盤


圖片來源


上一篇
[Day15] 中秋烤肉大拼盤 ─ SQL Injection(3)
下一篇
[Day17] 五彩大拼盤 ─ SQL Injection(5)
系列文
資安大拼盤30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言